<?


JCAT_Package::ImportClass( ROOT_PATH.'Classes/Coder/class.CoderDocBase.php') ;

class UICtrlGtkToggleDoc extends UICtrlDocBase 
{
	
	/**
	 * what's this
	 * 
	 * @access	public
	 * @param	$sPath=''	string	What's this Parameter ?
	 * @return	array
	 */
	public function UICtrlGtkToggleDoc($sPath='')
	{
		$this->UICtrlDocBase( __CLASS__, $sPath ) ;
	}

	/**
	 * what's this
	 * 
	 * @access	public
	 * @static 
	 * @return	string
	 */
	static public function GetControllerClassName()
	{
		return preg_replace('/Doc$/','',__CLASS__) ;
	}
	
	
	/**
	 * What's this Method ?
	 * 
	 * @access	protected
	 * @return	void
	 */
	protected function CreateNewDocument()
	{
		// 创建 新的文件 内容 :::::::::::::::::::
		$aTemplate = new JCAT_UIHtml() ;
		$aTemplate->SetVar('TheDoc',$this) ;
		
		// 模版文件
		$sTemplateFile = dirname(__FILE__).'/template.UICtrlGtkToggle.php' ;
		
		// 产生内容
		$sNewSource = $aTemplate->Display( $sTemplateFile,false) ;
		
		// 调用 父类 创建一个空文件
		parent::CreateNewDocument() ;
		
		// 写入新文件
		file_put_contents($this->GetPath(),$sNewSource) ;
	}


	
	

	public function CreateCode_IncludeParentClass()
	{
		$sParentClassName = $this->Get('UICtrlKind') ;
		return "JCAT_Package::ImportClass('{$sParentClassName}',JCAT::PACKAGE_UICTRLGTK) ;" ;
	}

	
	public function CreateCode_InitParentClass()
	{
		$sCode = parent::CreateCode_InitParentClass() ;
		$sActiveValue = str_replace('"','\\"',$this->Get('ButtonValue')) ;
		if($sActiveValue===null)
			$sActiveValue = '' ;
		$sActiveConst = $this->Get('ButtonActive') ;
	
		// 以派生 方式 实现
		if( $this->GetImplementType()==UICtrlDocBase::IMPTYPE_DERIVATION )
		{
			$sVarName = '		$this' ;
		}
		
		// 以实例化 方式 实现
		else
		{
			$sVarName = '$aNewInstance' ;		
		}
		
		// 选值
		$sCode.= "\r\n{$sVarName}->SetActiveValue(\"{$sActiveValue}\") ; " ;
		
		// 初始状态
		$sCode.= "\r\n{$sVarName}->SetDefaultActive({$sActiveConst}) ;" ;
		
		return $sCode ;
	}
	
}

JCAT_Package::ImportClass('JCAT_UIHtml',JCAT::PACKAGE_UIHTML) ;
?>